<?php
/**
 * Created by PhpStorm.
 * User    : QingYang
 * Tel     : 181-3414-1353
 * QQ      : 1139552211
 * Date    : 2021/6/1 下午12:23
 */

namespace app\task;

use yunwuxin\cron\Task;
use app\admin\model\MallGoods;
use app\admin\model\User;
use app\admin\model\UserInfo;

/**
 * 用户矿机&算力产出
 * Class UserNode
 * @package app\task
 * User    : QingYang
 * Tel     : 181-3414-1353
 * QQ      : 1139552211
 * Date    : 2021/6/1 下午12:23
 */
class UserNode extends Task {

    //设置运行时间
    public function configure() {
        $this->at("12:00");
    }

    /**
     * 执行任务
     * @return mixed
     */
    protected function execute() {
        MallGoods::instance()->consignNode();//交割矿机

        $output_node_list = MallGoods::instance()->getAllOutputNode();//获取所有可产出矿机

        //分批产币
        for ($i = 0; $i < count($output_node_list); $i++) {
            UserInfo::instance()->coinProduction($output_node_list[$i]);//产币并写入流水
        }

        //分批返佣
        for ($i = 0; $i < count($output_node_list); $i++) {
            $rebate_user_list = User::instance()->getAllReBateUser($output_node_list[$i]);//获取到返佣人ID、金额、币种。
            UserInfo::instance()->userRebate($rebate_user_list);//返佣
        }
    }
}